package com.sike.netty.im.common.command;

import cn.hutool.core.util.IdUtil;

/**
 * Message 构造器
 *
 * @author chenssy
 * @date 2023/09/14
 */
public class MessageBuilder {

    /**
     * 构造 Message 对象
     *
     * @param commandBody   指令 body
     * @param fromUserId    请求用户ID
     * @param toUserId      目标用户ID
     * @return Message
     */
    public static Message buildMessage(CommandBody commandBody,String fromUserId,String toUserId) {
        // 构造 body
        CommandHeader commandHeader = CommandHeader.builder()
                .messageType(commandBody.getCommandType())
                .serialNo(IdUtil.getSnowflakeNextIdStr())
                .fromUserId(fromUserId)
                .toUserId(toUserId)
                .build();

        return new Message(commandHeader,commandBody);
    }
}
